package day06;

import java.util.Scanner;

//方法的演示
public class MethodDemo {
    public static void main(String[] args) {
        /*
            调用的方法:

         */
        say();
        sayHi("ikun");
        sayHello("周鹏", 21);

        double a = getNum();
        System.out.println(a);


//        int b = plus(5,2);
//        System.out.println(b);
        Scanner scan = new Scanner(System.in);
        System.out.print("请输入第一个值:");
        int m = scan.nextInt();
        System.out.print("请输入第二个值:");
        int n = scan.nextInt();
        int c = plus(m,n);
        System.out.println("结果为:"+c);
        System.out.println(); //换行



        int[] x = testArray();
        System.out.println("数组的长度为:"+x.length);//输出数组的长度
        System.out.println("数组的第一个元素的值为:"+x[0]);
        for (int i = 0; i < x.length; i++) {  //遍历数组
            System.out.println(x[i]); //输出数组中的所有数
        }


        //扩展练习
        int[] y = testArray1(5,20);//设置5个元素,范围0-20;
        System.out.println("数组的长度为:"+y.length);
        for (int i = 0; i < y.length; i++) {
            System.out.println(y[i]);
        }

        //提前结束方法的执行
        sayHello("周鹏",60);

    }


    //扩展训练
    public static int[] testArray1(int len,int max){
        int[] arr = new int[len];
        for (int i = 0; i < arr.length; i++) {
            arr[i] = (int)(Math.random()*(max+1));
        }
        return arr;
    }



    //无参有返回值
    public static int[] testArray(){
        int[] arr = new int[10];
        for (int i = 0; i < arr.length; i++) {
            arr[i] = (int)(Math.random()*100);
        }
        return arr;
    }


    //有参有返回值
    public static int plus(int num1,int num2){
        int num = num1+num2;
        return num;//返回的是num里面的那个数
    }


    //无参有返回值
    public static double getNum() {
        //有返回值的方法中,必须通过return来返回数据
        //return;//编译错误,return后必须更一个数据
        //return "abc";//编译错误,return后的数据必须与返回值类型匹配
        double[] a = {1.1,2.1,3.1};
        return a[2];//1)结束方法的执行 2)返回结果给调用方
    }


    //有多个参数,无返回值方法
    public static void sayHello(String name, int age) {
        if (age > 60) {  //在某种特点条件下,提前结束方法
            return; //结束方法的执行
        }
        System.out.println("大家好,我叫" + name + "今年" + age + "岁了");
    }

    //有参数,无返回值方法
    public static void sayHi(String name) {
        System.out.println("大家好,我叫" + name + "今年18岁了");
    }

    //无参,无返回值的方法
    public static void say() {
        System.out.println("大家好,我是蔡徐坤");

    }

}
